<?php

/**
 * iteracion actions.
 *
 * @package    proyectoMOD2
 * @subpackage iteracion
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
 */
 
class iteracionActions extends sfActions
{
  public function executeIndex(sfWebRequest $request)
  {
    $this->forward('default', 'module');
  }
  
  public function executeBusquedamonitoreo($peticion)
  {
    if ($peticion->isMethod('post'))
    {  
	$login=$this->getUser()->getAttribute('login');
	$password=$this->getUser()->getAttribute('password');	
	$id=$this->getUser()->getAttribute('id');
	 $this->getUser()->getAttributeHolder()->clear();
	 $this->getUser()->setAttribute('id', $id);
	 $this->getUser()->setAttribute('login', $login);
	 $this->getUser()->setAttribute('password', $password);
	 $this->getUser()->setAttribute('proyecto_id',  $peticion->getParameter('proyecto'));
	 $this->redirect('iteracion/monitoreo1');
	}   
	$this->formulario = new CargarBusquedaForm(); 
  }
  
  public function executeBusqueda($peticion)
  {
    if ($peticion->isMethod('post'))
    {  
	$login=$this->getUser()->getAttribute('login');
	$password=$this->getUser()->getAttribute('password');	
	$id=$this->getUser()->getAttribute('id');
	 $this->getUser()->getAttributeHolder()->clear();
	 $this->getUser()->setAttribute('id', $id);
	 $this->getUser()->setAttribute('login', $login);
	 $this->getUser()->setAttribute('password', $password);
	 $this->getUser()->setAttribute('proyecto_id',  $peticion->getParameter('proyecto'));
	 $this->fecha_erronea="";
	 $this->fecha_erronea1="";
	 $this->getRequest()->setParameter('fecha_erronea', $this->fecha_erronea); 
	 $this->getRequest()->setParameter('fecha_erronea1', $this->fecha_erronea1);
	 $this->forward('iteracion','asignacion');
	}   
	$this->formulario = new CargarBusquedaForm(); 
  }
  
  public function executeMonitoreo2($peticion)
  { 
    $p = new Proyecto();
	if($this->getUser()->getAttribute('login')=='admin') $entrar=true;
    else $entrar=$p->permisologia($this->getUser()->getAttribute('id'),$this->getUser()->getAttribute(
	'proyecto_id'));
    if ($entrar)
    { 

	if ($peticion->isMethod('post'))
    {  
   	 $login=$this->getUser()->getAttribute('login');
	 $password=$this->getUser()->getAttribute('password');	
	 $proyecto_id=$this->getUser()->getAttribute('proyecto_id');
	 $id=$this->getUser()->getAttribute('id');
	 $this->getUser()->getAttributeHolder()->clear();
	 $this->getUser()->setAttribute('id', $id);
	 $this->getUser()->setAttribute('login', $login);
	 $this->getUser()->setAttribute('password', $password);
	 $this->getUser()->setAttribute('proyecto_id', $proyecto_id);
	 $this->getUser()->setAttribute('iteracion_id',$peticion->getParameter('RadioGroup1'));
	}
		if ($peticion->getParameter('RadioGroup1')=="")
		{
	 	$this->redirect('iteracion/monitoreo1'); 
		}	
	$this->fecha_erronea2=$peticion->getParameter('fecha_erronea2');
	$this->hora_erronea2=$peticion->getParameter('hora_erronea2');
	$c=new Actividad();
	$c->setProyectoId($this->getUser()->getAttribute('proyecto_id'));
	$this->setVar('tabla_actividad',$c->getTabla2($this->getUser()->getAttribute('iteracion_id')));
	}else{
	$this->redirect('proyecto/error');
	}
  }
  
   public function executeMonitoreo1($peticion)
  {
  	$p = new Proyecto();
	if($this->getUser()->getAttribute('login')=='admin') $entrar=true;
    else $entrar=$p->permisologia($this->getUser()->getAttribute('id'),$this->getUser()->getAttribute(
	'proyecto_id'));
    if ($entrar)
    { 
  	$pro=ProyectoPeer::retrieveByPk($this->getUser()->getAttribute('proyecto_id'));
	$this->getUser()->setAttribute('proyecto_nombre', $pro->getNombre());
	$d=new Iteracion();
	$this->setVar('tabla_iteracion',$d->getTabla($pro->getId()));
	$this->formulario = new CargarAgregarIteracionForm();
    }else{
	$this->redirect('proyecto/error');
	}
  }
  
  public function executeAsignacion($peticion)
  {
  	$p = new Proyecto();
	if($this->getUser()->getAttribute('login')=='admin') $entrar=true;
    else $entrar=$p->permisologia($this->getUser()->getAttribute('id'),$this->getUser()->getAttribute(
	'proyecto_id'));
    if ($entrar)
    {
	$this->fecha_erronea=$peticion->getParameter('fecha_erronea');
	$this->fecha_erronea1=$peticion->getParameter('fecha_erronea1');
  	$pro=ProyectoPeer::retrieveByPk($this->getUser()->getAttribute('proyecto_id'));
	$this->getUser()->setAttribute('proyecto_nombre', $pro->getNombre());
	$d=new Iteracion();
	$this->setVar('tabla_iteracion',$d->getTabla($pro->getId()));
	$this->formulario = new CargarAgregarIteracionForm();
	}else{
	$this->redirect('proyecto/error');
	}
  }
  
  public function executeAgregar($peticion)
  {
  	$i=0;		
	$asignado = new Iteracion();

	 if (!($asignado->comparar_fecha_proyecto($this->getUser()->getAttribute('proyecto_id'),$peticion
	  ->getParameter('dia').'-'.$peticion->getParameter('mes').'-'.$peticion->getParameter('ano'))))  
	  {
	  	$this->fecha_erronea="<label>*ERROR la fecha de inicio de la iteraci&oacute; debe ser mayor o 
		igual a la fecha de inicio del proyecto</label>";
	  	$i=$i+1;
	  }
	 if (!($asignado->comparar_fechas($peticion->getParameter('dia').'-'.$peticion->getParameter('mes'
	 ).'-'.$peticion->getParameter('ano'),$peticion->getParameter('dia1').'-'.$peticion->getParameter(
	 'mes1').'-'.$peticion->getParameter('ano1')))) 
	  {
	  	$this->fecha_erronea1="<label>*ERROR la fecha de inicio debe ser mayor a la fecha de termino
		</label>";
		$i=$i+1;
	  }
	if ($i==0)
	{		
		$asignado ->setProyectoId($this->getUser()->getAttribute('proyecto_id'));
		$asignado ->setFechaIni($peticion->getParameter('dia').'-'.$peticion->getParameter('mes').'-'.
		$peticion->getParameter('ano'));
		$asignado ->setFechaFin($peticion->getParameter('dia1').'-'.$peticion->getParameter('mes1').
		'-'.$peticion->getParameter('ano1'));  
		$asignado->save();		
	}
	 $this->getRequest()->setParameter('fecha_erronea', $this->fecha_erronea); 
	 $this->getRequest()->setParameter('fecha_erronea1', $this->fecha_erronea1);
	 $this->forward('iteracion','asignacion');	
 }
 
  public function executeIteracion1($peticion)
  {
   $p = new Proyecto();
   if($this->getUser()->getAttribute('login')=='admin') $entrar=true;
   else $entrar=$p->permisologia($this->getUser()->getAttribute('id'),$this->getUser()->getAttribute('proyecto_id'));
   if ($entrar)
   { 
   	if ($peticion->isMethod('post'))
    {  
   	 $login=$this->getUser()->getAttribute('login');
	 $password=$this->getUser()->getAttribute('password');	
	 $proyecto_id=$this->getUser()->getAttribute('proyecto_id');
	 $id=$this->getUser()->getAttribute('id');
	 $this->getUser()->getAttributeHolder()->clear();
	 $this->getUser()->setAttribute('id', $id);
	 $this->getUser()->setAttribute('login', $login);
	 $this->getUser()->setAttribute('password', $password);
	 $this->getUser()->setAttribute('proyecto_id', $proyecto_id);
	 $this->getUser()->setAttribute('iteracion_id',$peticion->getParameter('RadioGroup1'));
	}
	$c=new Requerimiento();	
	$this->setVar('tabla_requerimiento',$c->getTablaP($this->getUser()->getAttribute('proyecto_id')));
	if ($peticion->getParameter('RadioGroup1')=="")
	{
	 	$this->redirect('iteracion/asignacion'); 
	}
	if ($peticion->getParameter('Submit4')=='Eliminar Iteracion')
 	{
	 	$e= new Iteracion();
	 	$e->eliminarRegistro($this->getUser()->getAttribute('proyecto_id'),$this->getUser()->
		getAttribute('iteracion_id'));
	 	$this->redirect('iteracion/asignacion'); 
	}	
  }else{
	$this->redirect('proyecto/error');
  }
  }
  
  public function executeIteracion2($peticion)
  {
  	$p = new Proyecto();
	if($this->getUser()->getAttribute('login')=='admin') $entrar=true;
    else $entrar=$p->permisologia($this->getUser()->getAttribute('id'),$this->getUser()->getAttribute(
	'proyecto_id'));
    if ($entrar)
    {			
		$this->fecha_erronea2=$peticion->getParameter('fecha_erronea2');
		$this->hora_erronea2=$peticion->getParameter('hora_erronea2');
    	if ($peticion->getParameter('Submit')=='Asignar')
 		{	

  			$asignado = new IteReq();
    		$pro=RequerimientoPeer::retrieveByPk($peticion->getParameter('requerimiento'),$this->
			getUser()->getAttribute('proyecto_id') );
			$this->getUser()->setAttribute('requerimiento_nombre',$pro->getEspecificacion());
			$this->getUser()->setAttribute('requerimiento_id',$peticion->getParameter('requerimiento'
			));
			$asignado ->setProyectoId($this->getUser()->getAttribute('proyecto_id'));
			$asignado ->setIteracionId($this->getUser()->getAttribute('iteracion_id'));
			$asignado ->setRequerimientoId($peticion->getParameter('requerimiento'));
			$asignado->save(); 
		}
			$this->setVar('requerimiento',$peticion->getParameter('requerimiento'));
			$pro=RequerimientoPeer::retrieveByPk($this->getUser()->getAttribute('requerimiento_id'),		
			$this->getUser()->getAttribute('proyecto_id'));
			$c=new Actividad();
			$c->setProyectoId($this->getUser()->getAttribute('proyecto_id'));
			$c->setRequerimientoId($this->getUser()->getAttribute('requerimiento_id'));
			$this->setVar('tabla_actividad',$c->getTabla1());	
	}
	else
	{
	$this->redirect('proyecto/error');
	}
  }
  
  public function executeProcesar($peticion)
  {
    if ($peticion->getParameter('Submit2')=='Editar')
 	{
	 $a= new Iteracion();
	 $i=0;
	if ($peticion->getParameter('RadioGroup1')=="")
	{
	 	$this->redirect('iteracion/iteracion2'); 
	}
	 if (!($a->comparar_fecha_iteracion($this->getUser()->getAttribute('proyecto_id'),$this->
	 getUser()->getAttribute('iteracion_id'),$peticion->getParameter('dia').'-'.$peticion->
	 getParameter('mes').'-'.$peticion->getParameter('ano'))))  
	  {
	  	 $this->fecha_erronea2="<label>*ERROR la fecha no se encuentra<br />dentro del intervalo de la
		 iteraci&oacute;n</label>";
		 $i=$i+1;
	  }
	  if (!($a->validar_horas($peticion->getParameter('horase'))))  
	  {
	  	 $this->hora_erronea2="<label>*ERROR hora debe ser un numero <br /> entero mayor que cero
		 </label>";
		 $i=$i+1;
	  }
	  if($i==0)
	  {
		$asignado = new Actividad();
		$asignado ->setRequerimientoId($this->getUser()->getAttribute('requerimiento_id'));
		$asignado ->setProyectoId($this->getUser()->getAttribute('proyecto_id'));	
		$asignado->UpdateRegistro($peticion->getParameter('RadioGroup1'),$peticion->getParameter('dia'
		),$peticion->getParameter('mes'),$peticion->getParameter('ano'),$peticion->getParameter(
		'horase'));
	   }			
	}
	$this->getRequest()->setParameter('fecha_erronea2', $this->fecha_erronea2); 
	$this->getRequest()->setParameter('hora_erronea2', $this->hora_erronea2);
	$this->forward('iteracion','iteracion2');
 } 
 
 
  public function executeProcesarm($peticion)
  {
    if ($peticion->getParameter('Submit2')=='Editar')
 	{
		$asignado = new Actividad();
		$asignado ->setRequerimientoId($peticion->getParameter('RadioGroup1'));
		$asignado ->setProyectoId($this->getUser()->getAttribute('proyecto_id'));	
		if ($peticion->getParameter('control')=='true')
		{
			$asignado->UpdateRegistrop($peticion->getParameter('RadioGroup2'));
		}else
		{
			$i=0;
			$a= new Iteracion();
			 if (!($a->comparar_fecha_iteracion($this->getUser()->getAttribute('proyecto_id'),$this->
	 		getUser()->getAttribute('iteracion_id'),$peticion->getParameter('dia').'-'.$peticion->
	 		getParameter('mes').'-'.$peticion->getParameter('ano'))))  
	  		{
	  	 		$this->fecha_erronea2="<label>*ERROR la fecha no se encuentra<br />dentro del 		
				intervalo de la iteraci&oacute;n</label>";
		 		$i=$i+1;
	  		}
	  		if (!($a->validar_horas($peticion->getParameter('horasr'))))  
	  		{
	  	 		$this->hora_erronea2="<label>*ERROR hora debe ser un numero <br /> entero mayor que 	
				cero</label>";
		 		$i=$i+1;
	  		}
	  			if($i==0)
	  			{
					$asignado->UpdateRegistro1($peticion->getParameter('RadioGroup2'),$peticion->	
					getParameter('dia'),$peticion->getParameter('mes'),$peticion->getParameter('ano'),		
					$peticion->getParameter('horasr'));
				}	
			}
    	$this->getRequest()->setParameter('fecha_erronea2', $this->fecha_erronea2); 
		$this->getRequest()->setParameter('hora_erronea2', $this->hora_erronea2);
		$this->getRequest()->setParameter('RadioGroup1', $this->getUser()->getAttribute('iteracion_id'
		));	
		$this->getRequest()->setParameter('requerimiento',$peticion->getParameter('requerimiento'));	
		$this->forward('iteracion','monitoreo2');	
	}
 } 
  	
}
